//
// Created by kevin on 2024/11/26.
//

#ifndef CPLUS_TEST_LTE_GETDEFAULTTM_H
#define CPLUS_TEST_LTE_GETDEFAULTTM_H

#pragma once


#include<string>
#include<iostream>
#include "lte_type.h"


typedef enum {
    D1Dot4MHZ = 0,
    D3MHz = 1,
    D5MHz = 2,
    D10MHz = 3,
    D15MHz = 4,
    D20MHz = 5,
    D9RB = 6,
    D11RB = 7,
    D27RB = 8,
    D45RB = 9,
    D64RB = 10,
    D91RB
}eBandWidth;


void lte_getDefaultTM(const std::string testModelNo, const std::string bandwidth,
                      int cellID, const std::string duplexingMode, sTM& defaultTM, sCHS& defaultCHS);

unsigned int getNDLRB(const std::string bw);
unsigned int getNcellId(const std::string testModelNo, const std::string bandwidth);
double getPDSCHBoosted(const std::string tmNo, const std::string bw);
double getPDSCHDeboosted(const std::string tmNo, const std::string bw);
std::string getPDSCHModulation(const std::string tmNo);

#endif //CPLUS_TEST_LTE_GETDEFAULTTM_H
